Benjamin Otte [Tue, 30 Jun 2020 01:29:22 +0000 (03:29 +0200)]
bitset: Add gtk_bitset_new_range()
It's a common use.
Benjamin Otte [Mon, 29 Jun 2020 22:44:00 +0000 (00:44 +0200)]
tests: Make testlistview be a list again
The grid conversion was for testing and should never have been
committed.
Benjamin Otte [Sat, 4 Jul 2020 23:08:12 +0000 (01:08 +0200)]
selectionmodels: Add set_model() support
Now that we don't care about item types anymore, we can make the child
models settable.
We try to retain the selection, even when the model changes.
Benjamin Otte [Sat, 4 Jul 2020 19:47:48 +0000 (21:47 +0200)]
listmodels: Stop respecting item-type
Simplify all view model APIs and always return G_TYPE_OBJECT as the
item-type for every model.
It turns out nobody uses item-type anyway.
So instead of adding lots of APIs, forcing people to think about it and
trying to figure out how to handle filter or map models that modify item
types, just having an easy life is a better approach.
All the models need to be able to deal with any type of object going
through anyway.
Benjamin Otte [Sat, 27 Jun 2020 04:31:18 +0000 (06:31 +0200)]
stringlist: Take a const char const * argument
Sucks that we need to cast a char**, but otherwise we need to cast
{"foo", "bar", "baz" } arrays.
Benjamin Otte [Sat, 27 Jun 2020 04:29:58 +0000 (06:29 +0200)]
stringfilter: Don't crash if the expression returns ""
Benjamin Otte [Fri, 26 Jun 2020 12:05:02 +0000 (14:05 +0200)]
a11y: Remove double initialization of variables
Yuri Chornoivan [Sat, 4 Jul 2020 17:02:55 +0000 (17:02 +0000)]
Update Ukrainian translation
Matthias Clasen [Sat, 4 Jul 2020 15:48:29 +0000 (15:48 +0000)]
Merge branch 'typo' into 'master'
Fixes typos
See merge request GNOME/gtk!2188
Matthias Clasen [Sat, 4 Jul 2020 15:46:19 +0000 (15:46 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
filechooser: Make filtering work again
See merge request GNOME/gtk!2189
Matthias Clasen [Sat, 4 Jul 2020 14:08:28 +0000 (10:08 -0400)]
filechooser: Make filtering work again
One too many lines were dropped when this filter combo
was converted to a dropdown. Bring it back, to make
filtering work again.
Piotr Drąg [Sat, 4 Jul 2020 11:37:03 +0000 (13:37 +0200)]
Update POTFILES.in and POTFILES.skip
Jordi Mas [Sat, 4 Jul 2020 08:00:25 +0000 (10:00 +0200)]
Fixes typos
Jordi Mas [Sat, 4 Jul 2020 07:58:03 +0000 (09:58 +0200)]
Update Catalan translation
Matthias Clasen [Fri, 3 Jul 2020 16:10:03 +0000 (16:10 +0000)]
Merge branch 'selection-filter-fixes' into 'master'
Selection filter fixes
See merge request GNOME/gtk!2186
Matthias Clasen [Fri, 3 Jul 2020 13:54:32 +0000 (09:54 -0400)]
testsuite: Add selection filter model tests
Verify that the selection filter changes mirror
the selection changes of the underlying model,
as expected. These tests verify the fixes in
the previous commit.
Matthias Clasen [Fri, 3 Jul 2020 13:53:27 +0000 (09:53 -0400)]
selectionfilter: Fix bugs in signal translation
When the position is 0, we can't check for unchanged
elements below with gtk_bitset_size_in_range. And
we don't need to, either.
And be careful when translating [start,length]
intervals to [first,last] ones. Off-by-one errors
lurk everywhere.
Boyuan Yang [Fri, 3 Jul 2020 12:49:24 +0000 (12:49 +0000)]
Update Chinese (China) translation
Matthias Clasen [Fri, 3 Jul 2020 05:51:29 +0000 (05:51 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
inspector: Fix the monitor list width
Closes #2909
See merge request GNOME/gtk!2185
Matthias Clasen [Fri, 3 Jul 2020 05:07:13 +0000 (01:07 -0400)]
inspector: Fix the monitor list width
Fixes #2909
Matthias Clasen [Fri, 3 Jul 2020 05:05:24 +0000 (05:05 +0000)]
Merge branch 'wip/exalm/show-title-buttons' into 'master'
headerbar: Show title buttons by default
See merge request GNOME/gtk!2175
Matthias Clasen [Fri, 3 Jul 2020 04:15:12 +0000 (04:15 +0000)]
Merge branch 'selection-filter' into 'master'
Selection filter
See merge request GNOME/gtk!2184
Matthias Clasen [Fri, 3 Jul 2020 02:30:44 +0000 (22:30 -0400)]
gtk-demo: Track the selection
Use GtkSelectionFilterModel to track and display the
selection. Add some other selection information for
good measure.
Matthias Clasen [Thu, 2 Jul 2020 22:50:08 +0000 (18:50 -0400)]
Add a selection filter model
This model presents the selection of a GtkSelectionModel
as its own list model.
Matthias Clasen [Fri, 3 Jul 2020 02:49:27 +0000 (22:49 -0400)]
filterlistmodel: Make model not construct-only
This property wasn't meant to be construct-only.
Benjamin Otte [Mon, 29 Jun 2020 17:04:07 +0000 (19:04 +0200)]
bitset: Add APIs needed for a filterlistmodel
Alexander Mikhaylenko [Mon, 25 May 2020 15:14:58 +0000 (20:14 +0500)]
headerbar: Show title buttons by default
Most of the time show-title-buttons is set to TRUE. Go ahead and make that
the default.
Matthias Clasen [Wed, 1 Jul 2020 01:36:47 +0000 (01:36 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Add gtk_multi_selection_get_model
See merge request GNOME/gtk!2179
Matthias Clasen [Wed, 1 Jul 2020 01:35:56 +0000 (01:35 +0000)]
Merge branch 'wip/baedert/for-master' into 'master'
Wip/baedert/for master
See merge request GNOME/gtk!2162
Benjamin Otte [Wed, 1 Jul 2020 01:19:12 +0000 (01:19 +0000)]
Merge branch 'wip/chergert/gtk4-remove-textlayout-vtable' into 'master'
textlayout: remove virtual table indirection
See merge request GNOME/gtk!2178
Matthias Clasen [Tue, 30 Jun 2020 23:44:17 +0000 (19:44 -0400)]
Add gtk_multi_selection_get_model
This getter was missing.
Christian Hergert [Wed, 1 Jul 2020 00:38:31 +0000 (17:38 -0700)]
textlayout: remove virtual table indirection
GtkTextLayout is private now and therefore we can drop all of
the indirection through the class vtable. Instead, just call the
implementations directly and remove the unused vtable entries
for default signal handlers.
Matthias Clasen [Tue, 30 Jun 2020 22:52:18 +0000 (22:52 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Drop unnecessary uses of gtk_style_context_add_class
See merge request GNOME/gtk!2177
Matthias Clasen [Tue, 30 Jun 2020 22:17:29 +0000 (22:17 +0000)]
Merge branch 'inspector-list-model' into 'master'
Inspector list model support
See merge request GNOME/gtk!2176
Matthias Clasen [Tue, 30 Jun 2020 21:39:37 +0000 (17:39 -0400)]
Drop unnecessary uses of gtk_style_context_add_class
We can use gtk_widget_add_css_class instead, most places.
Matthias Clasen [Tue, 30 Jun 2020 21:10:05 +0000 (17:10 -0400)]
inspector: Avoid a use of gtk_style_context_add_class
We have gtk_widget_add_css_class for this now.
Matthias Clasen [Tue, 30 Jun 2020 18:50:01 +0000 (14:50 -0400)]
inspector: proper list model support
Add a data tab for list models that allows exploring
the objects in the model.
Matthias Clasen [Tue, 30 Jun 2020 19:21:45 +0000 (19:21 +0000)]
Merge branch 'wip/on-the-surface-good-fences-can-make-bad-neighbors' into 'master'
x11: Handle window getting unmap while frame still pending
Closes #2902
See merge request GNOME/gtk!2168
Matthias Clasen [Tue, 30 Jun 2020 19:17:14 +0000 (15:17 -0400)]
inspector: Rename DataList -> TreeData
Rename the DataList object to TreeData, in preparation
for adding a ListData object for list models. While
we are touching it, modernize it a bit (drop the Private
struct, use a layout manager, etc).
Ray Strode [Tue, 30 Jun 2020 18:15:53 +0000 (14:15 -0400)]
x11: Avoid thawing surface until frame is drawn
Since commit
972134abe48a4c9c7b6ad41b0723f30f4e7ae16b a frame getting
drawn has three states (with the vendor nvidia driver at least):
1. drawn by gtk waiting on the GPU
2. drawn by GPU waiting on the compositor
3. drawn by compositor
Those three states are encoded in two flags: frame_pending and
frame_still_painting.
frame_pending means step 1 is done, but step 2 and 3 are still
in progress. frame_still_painting means step 2 is still in progress.
After step 1 is finished the surface is frozen until step 3 is finished.
When the compositor notifies gtk it's done with step 3, with a
_NET_WM_FRAME_DRAWN client message, the toolkit thaws the surface to
allow the next frame to proceed.
The compositor sometimes sends gtk a _NET_WM_FRAME_DRAWN client message
between steps 1 and 2. This message should be ignored because it's not
a reply to the current frame.
Unfortunately, gtk currently assumes if it gets a _NET_WM_FRAME_DRAWN
client message while waiting for step 2 that it's actually at step 3,
and proceeds to draw a new frame while the existing frame is still
pending, leading to a blown assertion.
This commit addresses the problem by ignoring _NET_WM_FRAME_DRAWN
client messages from the compositor unless actually expecting one.
Fixes: #2902
Ray Strode [Mon, 29 Jun 2020 14:21:58 +0000 (10:21 -0400)]
x11: Handle window getting unmapped while frame still pending
Since commit
972134abe48a4c9c7b6ad41b0723f30f4e7ae16b we now call
glClientWaitSync for the vendor nvidia driver, to know when a frame
is ready for the compositor to process.
If a surface is hidden while a frame is still being rendered by the GPU,
the surface will never produce the damage event the code relies on to
trigger the call to glClientWaitSync. This leaves the fence dangling,
and the next time the surface is shown, it will start a fresh frame
and blow an assertion since the fence from the last frame is still
hanging around.
This commit ensures a frame gets fully wrapped up before hiding a
surface.
Matthias Clasen [Tue, 30 Jun 2020 18:22:01 +0000 (14:22 -0400)]
inspector: Remove list model support from the property editor
This makes the inspector lock up when used with any production
size list model, and blocks access to properties of the model
itself. Instead, we'll make the model available as an object
and add a data tab for list model contents, like we already
do for tree models.
Matthias Clasen [Tue, 30 Jun 2020 12:03:06 +0000 (12:03 +0000)]
Merge branch 'issue-2904' into 'master'
Add nullable annotations for gtk_cclosure_expression_new()
Closes #2904
See merge request GNOME/gtk!2172
Emmanuele Bassi [Tue, 30 Jun 2020 11:11:21 +0000 (12:11 +0100)]
Add nullable annotations for gtk_cclosure_expression_new()
Fixes: #2904
Matthias Clasen [Tue, 30 Jun 2020 02:08:51 +0000 (22:08 -0400)]
gtklistitemfactory: Cosmetic documentation fixes
Matthias Clasen [Tue, 30 Jun 2020 02:08:21 +0000 (22:08 -0400)]
builderlistitemfactory: Documentation fixes
Matthias Clasen [Mon, 29 Jun 2020 22:17:00 +0000 (18:17 -0400)]
expression: Add to the docs
Add some more long-form explanation of what expressions
are about and where they are used.
Matthias Clasen [Mon, 29 Jun 2020 20:36:46 +0000 (16:36 -0400)]
Drop GtkFunctionsListItemFactory
It has been superseded by GtkSignalsListItemFactory.
Matthias Clasen [Mon, 29 Jun 2020 20:37:14 +0000 (16:37 -0400)]
Stop using GtkFunctionsListItemFactory
This was an early attempt at a factory, and has been
superseded by GtkSignalsListItemFactory. Port all users
the the newer one.
Carlos Garnacho [Mon, 29 Jun 2020 22:24:32 +0000 (22:24 +0000)]
Merge branch 'wip/Jehan/GtkIMContextWayland-master' into 'master'
gtk: focus out the GtkIMContextWayland upon finalization.
See merge request GNOME/gtk!2170
Jehan [Mon, 29 Jun 2020 20:12:53 +0000 (22:12 +0200)]
gtk: focus out the GtkIMContextWayland upon finalization.
In particular, it will NULL-ified the current global context if this is
the finalized one, avoiding dangling invalid pointers.
Would have been a cherry-pick from branch gtk-3-24 of commit
b592ded80ad4825d115317ba6750a086da0434c0, but files moved.
Daniel Mustieles [Mon, 29 Jun 2020 14:03:40 +0000 (16:03 +0200)]
Updated Spanish translation
Emmanuele Bassi [Mon, 29 Jun 2020 13:45:03 +0000 (13:45 +0000)]
Merge branch 'ci-style' into 'master'
ci: Create new origin for forks
See merge request GNOME/gtk!2164
Matthias Clasen [Mon, 29 Jun 2020 12:30:41 +0000 (12:30 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Matthiasc/for master
Closes #1887
See merge request GNOME/gtk!2167
Emmanuele Bassi [Sun, 28 Jun 2020 13:01:19 +0000 (14:01 +0100)]
ci: Create new origin for forks
We don't need to create a new remote and fetch its master if we're
checking a merge request done on the upstream repository.
Matthias Clasen [Mon, 29 Jun 2020 03:47:26 +0000 (23:47 -0400)]
node-editor: Add a help window
Add a Help item to the gear menu that opens the
node-format.md file in a new window. This could
be improved if we could parse markdown and apply
tags, similar to how we can load pango markup.
Matthias Clasen [Mon, 29 Jun 2020 03:44:12 +0000 (23:44 -0400)]
node-editor: Cosmetics
Use a title style class for the labels.
Matthias Clasen [Mon, 29 Jun 2020 03:43:13 +0000 (23:43 -0400)]
node-editor: Add a gear menu
Add a gear menu with Inspector and About menu items.
Matthias Clasen [Mon, 29 Jun 2020 03:38:22 +0000 (23:38 -0400)]
node-editor: Document the node format
Add a markdown file with the documentation of the
node format.
Fixes: #1887
Matthias Clasen [Mon, 29 Jun 2020 03:36:35 +0000 (23:36 -0400)]
gtk-demo: Fix binary name in --version
We are gtk4-demo, not gtk3-demo.
Matthias Clasen [Mon, 29 Jun 2020 02:37:29 +0000 (22:37 -0400)]
bitset: Fix documentation syntax
Matthias Clasen [Mon, 29 Jun 2020 01:39:02 +0000 (21:39 -0400)]
bitset: Add more tests
Add some tests for rectangles, and for iters.
Matthias Clasen [Mon, 29 Jun 2020 01:28:47 +0000 (21:28 -0400)]
bitset: Correct preconditions in gtk_bitset_add_rectangle
We want to make sure that the rectangle fits in the grid.
Matthias Clasen [Sun, 28 Jun 2020 23:47:09 +0000 (23:47 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Matthiasc/for master
Closes #2743
See merge request GNOME/gtk!2161
Matthias Clasen [Sun, 28 Jun 2020 22:59:48 +0000 (18:59 -0400)]
ci: Drop one of the focus tests
One of the widget-factory focus tests is flaky in ci,
perhaps due to font changes causing size computations
to go slightly differently.
Drop this for now.
Matthias Clasen [Sun, 28 Jun 2020 21:02:01 +0000 (17:02 -0400)]
testsuite: Bump the per-test timeout to 60s
The bitset test has repeatedly run into the 30s timeout
in the ci, so give it some more time.
Matthias Clasen [Sun, 28 Jun 2020 20:36:03 +0000 (16:36 -0400)]
bitset: Fix the right-shift implementation
This was not doing the right thing at all.
This commit also adds tests for left- and
right-shift.
Matthias Clasen [Sun, 28 Jun 2020 17:08:44 +0000 (13:08 -0400)]
Stop setting GTK_IM_MODULE_FILE
GTK no longer reads this environment variable, so
setting it can have no benefit for uninstalled demos
anymore.
Matthias Clasen [Sun, 28 Jun 2020 15:58:25 +0000 (11:58 -0400)]
Add g_intern_static_string to valgrind suppressions
That function can also trigger a quark table reallocation.
Matthias Clasen [Sun, 28 Jun 2020 15:24:09 +0000 (11:24 -0400)]
widget: Avoid uninitialized access
Initialize all field in the GtkCrossingData struct
when synthesizing crossing events.
Fixes: #2743
Matthias Clasen [Sun, 28 Jun 2020 03:11:07 +0000 (23:11 -0400)]
gtk: Better help for GTK_DEBUG
Reuse the newly introduced gdk_parse_debug_var for
GTK_DEBUG.
Matthias Clasen [Sun, 28 Jun 2020 03:09:55 +0000 (23:09 -0400)]
gsk: Better help for GSK_DEBUG
Reuse the newly introduced gdk_parse_debug_var for
GSK_DEBUG.
Matthias Clasen [Sun, 28 Jun 2020 03:09:07 +0000 (23:09 -0400)]
gdk: Better help for GDK_DEBUG
Include docstrings and format the list of supported
values better.
Also, add the same warning we have for GTK_DEBUG when
the environment variable is ignored.
Matthias Clasen [Sun, 28 Jun 2020 15:13:59 +0000 (11:13 -0400)]
testsuite: Don't pass GDK_DEBUG for release builds
The debug env vars are ignored in release builds,
and may spew warnings about that fact that break
tests.
Matthias Clasen [Sun, 28 Jun 2020 15:13:07 +0000 (11:13 -0400)]
wayland: Respect GDK_DEBUG=default-settings
You can get this in other ways for Wayland (by
setting GSETTINGS_BACKEND=memory), but it is better
to be consistent across backends.
Matthias Clasen [Sun, 28 Jun 2020 03:19:12 +0000 (23:19 -0400)]
Drop GTK_DEBUG_SHORTCUTS
It is unused.
Matthias Clasen [Sun, 28 Jun 2020 03:14:29 +0000 (23:14 -0400)]
shortcuts: Use GTK_DEBUG_KEYBINDINGS
There was just a single message under GTK_DEBUG_SHORTCUTS.
Consolidate with GTK_DEBUG_KEYBINDINGS.
Matthias Clasen [Sun, 28 Jun 2020 17:41:15 +0000 (13:41 -0400)]
docs: Update environment sections
Fix links in markdown, and add details about
Wayland environment variables.
Matthias Clasen [Sun, 28 Jun 2020 16:44:32 +0000 (16:44 +0000)]
Merge branch 'print-editor' into 'master'
Install the print editor
See merge request GNOME/gtk!2165
Matthias Clasen [Sun, 28 Jun 2020 16:41:57 +0000 (12:41 -0400)]
stringlist: Cosmetic documentation fix
Matthias Clasen [Sun, 28 Jun 2020 16:40:41 +0000 (12:40 -0400)]
gtk: Add some missing symbols to the docs
Matthias Clasen [Sun, 28 Jun 2020 16:39:48 +0000 (12:39 -0400)]
sorter: Some doc corrections
The docs were referring to some non-existing enum value.
Fix things up to match the current code.
Matthias Clasen [Sun, 28 Jun 2020 16:33:49 +0000 (12:33 -0400)]
stack: Remove nonexisting api from headers
The homogeneous property was dropped a while ago.
Matthias Clasen [Sun, 28 Jun 2020 16:23:08 +0000 (12:23 -0400)]
gdk: Small documentation fixes
Make sure gdk_event_get_seat shows up.
Matthias Clasen [Sun, 28 Jun 2020 12:06:17 +0000 (08:06 -0400)]
stack: Cosmetic documentation fixes
Fix parameter mismatches.
Matthias Clasen [Sun, 28 Jun 2020 01:53:57 +0000 (21:53 -0400)]
bitset: Cosmetic documentation changes
Matthias Clasen [Sun, 28 Jun 2020 14:12:45 +0000 (10:12 -0400)]
printeditor: Add desktop file and appdata
All our installed demos have this.
Matthias Clasen [Sun, 28 Jun 2020 14:26:19 +0000 (10:26 -0400)]
print-editor: Allow opening files
Since it calls itself an editor, it should really
support opening files on the commandline.
Matthias Clasen [Sun, 28 Jun 2020 12:33:17 +0000 (08:33 -0400)]
printeditor: Cosmetics
Bring this up to our standards for an installable demo,
by touching up the about dialog and menus.
Emmanuele Bassi [Sun, 28 Jun 2020 13:28:52 +0000 (13:28 +0000)]
Merge branch 'issue-2900' into 'master'
Nullable this_ argument in gtk_expression_bind()
Closes #2900
See merge request GNOME/gtk!2163
Emmanuele Bassi [Sun, 28 Jun 2020 12:40:11 +0000 (13:40 +0100)]
Add pre-condition check on nullable argument
Even if `gtk_expression_watch()` will do the same, we're calling public
API, so we should perform a check at the point of use, to ensure that
warnings are easily debuggable.
Emmanuele Bassi [Sun, 28 Jun 2020 12:39:17 +0000 (13:39 +0100)]
Annotate nullable argument
The `this_` argument is passed to `gtk_expression_watch()`, which
accepts it as nullable.
Fixes: #2900
Matthias Clasen [Sun, 28 Jun 2020 01:46:22 +0000 (21:46 -0400)]
docs: Remove ancient version information
We treat 4.0 as a new era.
Matthias Clasen [Sun, 28 Jun 2020 01:37:28 +0000 (21:37 -0400)]
multiselection: Update docs
Remove information that is no longer true. GtkMultiSelection
is persistent across sorting changes since
3d8b6f6b799499cca02.
Matthias Clasen [Sat, 27 Jun 2020 22:19:27 +0000 (22:19 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Matthiasc/for master
See merge request GNOME/gtk!2160
Matthias Clasen [Sat, 27 Jun 2020 21:31:22 +0000 (17:31 -0400)]
docs: Migration guide additions
Matthias Clasen [Sat, 27 Jun 2020 21:28:15 +0000 (17:28 -0400)]
builder: Documentation tweaks
Don't use no-longer-existing enums as examples,
and drop the +.
Matthias Clasen [Sat, 27 Jun 2020 19:43:18 +0000 (19:43 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Matthiasc/for master
See merge request GNOME/gtk!2159
Baurzhan Muftakhidinov [Sat, 27 Jun 2020 19:11:12 +0000 (19:11 +0000)]
Update Kazakh translation
Baurzhan Muftakhidinov [Sat, 27 Jun 2020 18:52:16 +0000 (18:52 +0000)]
Update Kazakh translation